/**
 * Project Name:stock
 * File Name:Constants.java
 * Package Name:com.times.constant
 * Date:2015年7月3日下午12:56:06
 * Copyright (c) 2015, times.com All Rights Reserved.
 *
 */

package com.times.constant;

/**
 * ClassName: Constants <br/>
 * Function: 常量类
 * 
 * @author ZZW
 * @version 2015年7月3日
 */
public interface Constants {
    
    
    /*************************dictionary start*************************/
    /** [表S_SCM_CONTRACTDATA.EXECUTEPROJECT]合同状态：0.未执行，1.执行中，10.已关闭 */
    int CONTRACT_STATUS_NOT_EXECUTE = 0;
    int CONTRACT_STATUS_EXECUTING = 1;
    int CONTRACT_STATUS_CLOSED = 10;
    
    /** [表S_SCM_PROJECTCONTRACTDIRECTORY.CONTRACT_TYPE],[表S_SCM_CONTRACTDATA.CONTRACT_TYPE] */
    /** 合同类型：100101.普通合同，100102.补充合同 */
    int CONTRACT_NORMAL_TYPE = 100101;
    int CONTRACT_REPLENISH_OLD_TYPE = 100102;
    int CONTRACT_REPLENISH_NEW_TYPE = 100103;
    /*************************dictionary end*************************/
    
    /** 默认计算结果精度 */
    int finalScale = 2;
    /** 默认计算过程精度 */
    int computeScale = 5;
    /** 特殊字符，替代任何字母、数字 */
    String anyCode = "%";
    /** if else变量 */
    String variable = "$";
    
    String actualConstructDate = "a";//实际开工日期
    String[] formulaDateArray = {actualConstructDate};
    /** 匹配计算式中，日期判断的格式 */
   
    /** 合同编号判断格式 */
    String contractNoPattern = "cno{\\w+}";
    /** 匹配校验表达式的格式 */
    String validFormulaPattern = "["+anyCode+"a-zA-Z]+\\w*(\\{["+anyCode+"\\w*]+\\})?";
    /** 匹配计算表达式的格式 */
//    String computeFormulaPattern = "[a-zA-Z]+\\w*(\\{[a-zA-Z]+\\w*\\})?";
    /** 可带多个小括号、正负号的常数 */
    String constantDigestPattern = "[\\(\\s]*([\\+\\-\\s]*[0-9]+(\\.[0-9]*)?)[\\s\\)]*";
    /** 关键字 */
    String[] keyWordArray = new String[]{"if", "else", "return", "new", "Date"};
    String[] constantArray = new String[]{"true", "false"};
    
    String[] specialPrefix = new String[]{"offer", "offerj", "offer0", "offerc"};
    

	/** 付工程款最高限额5000 */
	int PAYMENT_MAX_IMUMLIMIT = 5000;
	/**
	 * brm 木工 brn 泥工 brq 漆工 brs 电工  
	 */
	static final String[] WORKER_TYPE_FLAG = new String[] { "brm", "brn", "brq", "brs" };
	
	/**
	 * 对应的施工管理计划清单中的工序
	 */
	static final String[] WORKER_TYPE_FLAG_INDEX = new String[] { "16", "21", "28", "12" };
	/**
	 * 生活家分公司补充合同名称个数的数组
	 */
	static final String[] SUPPLEMENTARY_CONTRACT_NAMES = new String[] { "第一次", "第二次","第三次","水电%补充" };
	/**
	 * 生活家分公司的补充合同直接汇总代码
	 */
	static final String[] SUPPLEMENTARY_CONTRACT_CODE = new String[] { "bc01", "bc11","bc21","fs02" };
	/**
	 * 朗润分公司补充合同个数的数组
	 */
	static final String[] SUPPLEMENTARY_CONTRACT_NAMES_LR = new String[] { "工程补充合同内容", "整装主材补充合同内容","水电%补充" };
	/**
	 * 朗润的补充合同特项
	 */
	static final String[] SUPPLEMENTARY_CONTRACT_CODE_LR = new String[] { "b01", "b05","fs02" };
	/**模糊匹配求和的特项*/
	static final String[] FUZZY_MATCHING_CODE = new String[] { "cn", "cw","cs", "cj" };
	/**通过合同的变更修改 工资业绩明细归属表数据操作  合同代码数组*
	 *  sh1     --客户合同价sh1                                                                                                
		 sd      --水电合同业绩（水电合同金额的一半）                                                                           
		 sdbc2   --水电补充合同业绩                                                                                             
		 bc2     --补充协议业绩       
		 rz      --软装包合同价   
		 srz     --软装销售金额 
		 sjj     --家具销售业绩 
		 zw01    --订单材料销售总金额  （整装外材料销售金额）   
		 ft00    --整装合同金额   --                                                                                            
		 ft04    --水电合同业绩(水电合同金额一半)                                                                           
		 ft05    --软装合同金额（退软装包业绩）   --                                                                       
		 ft07    --软装销售金额（退软装销售业绩）   --                                                                     
		 ft08    --家具销售金额（退家具销售业绩）   -- 
	 * */
	static final String[] CONTRACT_CODE_PERFORMANCE = new String[] { "sh1", "sd","sdbc2", "bc2", "rz","srz", "sjj", "zw01", "ft00","ft04", "ft05", "ft07", "ft08" };
	
	/**
	 * 工人APP正式环境连接地址
	 */
	static final String LINKAGE_WORKER_URL = "http://125.71.232.126:9306/linkage-worker/";
	/**项目程序同步授权密码 */
	static final String SYN_PROGRAM_PASSWORD="shj321";
	/***项目程序同步的绝对路径（163服务器上）**/
	static final String  SYN_PROGRAM_URL="E://BatchScript//Syn_program_script//";
	/***物流搬运费结算单提交时候验证是否是一下状态**/
	static final String[] HANDING_CODE_MSG = new String[] { "待付款", "已付款"}; 
	/**产品服务部经理授权密码*/
	static final String CPFWB_PASS_TO_UPDATE_WORKER="cpfwb231";
}
